home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.plaf.basic;
-
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Rectangle;
- import java.awt.event.ActionEvent;
- import javax.swing.JViewport;
- import javax.swing.Scrollable;
-
- class BasicScrollPaneUI$ScrollAction extends BasicScrollPaneUI.ScrollPaneAction {
- // $FF: synthetic field
- private final BasicScrollPaneUI this$0;
- protected int orientation;
- protected int direction;
-
- protected BasicScrollPaneUI$ScrollAction(BasicScrollPaneUI var1, String var2, int var3, int var4) {
- super(var1, var2);
- this.this$0 = var1;
- this.orientation = var3;
- this.direction = var4;
- }
-
- public void actionPerformed(ActionEvent var1) {
- JViewport var2 = this.this$0.scrollpane.getViewport();
- Component var3;
- if (var2 != null && (var3 = var2.getView()) != null) {
- Rectangle var4 = var2.getViewRect();
- Dimension var5 = var3.getSize();
- int var6;
- if (var3 instanceof Scrollable) {
- var6 = ((Scrollable)var3).getScrollableBlockIncrement(var4, this.orientation, this.direction);
- } else if (this.orientation == 1) {
- var6 = var4.height;
- } else {
- var6 = var4.width;
- }
-
- if (this.orientation == 1) {
- var4.y += var6 * this.direction;
- if (var4.y + var4.height > var5.height) {
- var4.y = Math.max(0, var5.height - var4.height);
- }
- } else {
- var4.x += var6 * this.direction;
- if (var4.x + var4.width > var5.width) {
- var4.x = Math.max(0, var5.width - var4.width);
- }
- }
-
- var2.setViewPosition(var4.getLocation());
- }
-
- }
- }
-